-
Notifications
You must be signed in to change notification settings - Fork 3.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Send warnings to stderr and in yellow color in test and compiler.erlang tasks #14018
Send warnings to stderr and in yellow color in test and compiler.erlang tasks #14018
Conversation
IO.puts("#{file}:#{location_to_string(location)} warning: #{module.format_error(message)}") | ||
message = "#{file}:#{location_to_string(location)} warning: #{module.format_error(message)}" | ||
|
||
IO.puts(:stderr, IO.ANSI.format([:yellow, :bright, message])) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Elixir compiler does not wrap the the whole message in yellow, only the warning part, not in bright, and it ultimately uses another format, so I am not sure we should go for consistency here. We should probably be more consistent with the Erlang compiler warnings and error messages instead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, I was going to mention that, but there are some parts where the whole warning is printed in yellow. So I was going to mention this in an issue itself. I can create the issue, or we can discuss it here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Those are different warnings emitted by different places, and different on purpose, since they have implications. I would prefer to stay consistent within each library: Erlang, Mix, and Elixir.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see. So what is the desired format for warnings in the Erlang and Mix library?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably the formats that we have right now? :) although I will double check if the Erlang one is still relevant.
Closing this for now. If the Erlang warnings could be updated, it should be done to match the Erlang compiler, so it is separate from this PR. Thank you! |
@josevalim I was waiting for your answer regarding your last comment. #14018 (comment)
I don't get this, since this PR it solely about Compilers.Erlang warnings. |
This PR also changes In any case, Erlang warnings should be consistent with warnings emitted by the Erlang compiler. |
Oh.. I see. |
To be clear, the only change we agree at the moment is to make the output of compile.erlang closer to the output of |
What would be the reason to send warnings to stdio and not to stderr? |
Unless |
There warnings were being sent to stdio. I am redirecting them to stderr and with yellow color.